package com.xrx.webtemplate.web.api;

import com.xrx.webtemplate.model.ShiroSessionModel;
import org.apache.shiro.session.Session;

import java.io.Serializable;
import java.util.Collection;

/**
 * Created by xierongxian on 2017/4/24.
 */
public interface TokenApi {
    /**
     * 保存会话
     * @param shiroSessionModel
     */
    void saveSession(ShiroSessionModel shiroSessionModel);

    /**
     * 保存会话
     * @param shiroSessionModel
     */
    void updateSession(ShiroSessionModel shiroSessionModel);

    /**
     * 刷新缓存重新计算过期时间
     * @param sessionId
     */
    void refreshSession(String sessionId);

    /**
     * 删除会话
     * @param sessionId
     */
    void deleteSession(String sessionId);

    /**
     * 获取会话
     * @param sessionId
     * @return
     */
    ShiroSessionModel getSession(String sessionId);

    /**
     * 获取所会话
     * @return
     */
    Collection<Session> getAllSessions();
}
